// P1646 write by cn_ryh